
clear


 
clear matrix
set memory 1000m
set more off
cap log close

cd "/Users/..."

global do_file="‎⁨/Users/.../do_file"
global log_file="/Users/.../log_file"
global raw_data="/Users/.../raw_data⁩⁩"
global working_data="/Users/.../working_data"
global results="/Users/.../results"

import delimited "/Users/.../geo_data/location_start 4.csv", encoding(utf8) 


//unicode encoding alia utf8

rename v1 lat_long_start 
drop v2
rename v3 addr_start

drop if _n==1

split addr_start, p(",")


//gen temp=strpos(addr_start, ",")
//gen temp_add=substr(addr_start, temp+2, )

gen addr_new=addr_start12+","+addr_start11+","+addr_start10+","+addr_start9+","+addr_start8+","+addr_start7+","+addr_start6+","+ ///
			 addr_start5+","+addr_start4+","+addr_start3+","+addr_start2+","+addr_start1
			 
drop addr_start1-addr_start12
			 
gen temp=strpos(addr_new, "中国")
//gen country=substr(addr_start, temp, 6)			 

tab temp, m

* foreign address
list addr_new if temp==0
drop if temp==0

gen temp1=substr(addr_new, 11, 6) if temp==3
forvalues i=4(1)12{
replace temp1=substr(addr_new, `i'+8, 6) if temp==`i'
}

tab temp1, m

list addr_new if temp1=="+"
list addr_new if temp1=="0"

destring temp1, replace force

gen post_code=substr(addr_new, 11, 6) if temp==3 & temp1~=.
forvalues i=4(1)12{
replace post_code=substr(addr_new, `i'+8, 6) if temp==`i' & temp1~=.
}

replace post_code="474500" if addr_new==",,,,, 中国, ４７４５００, 河南省, 南阳市 / Nanyang, 西峡县 (Xixia), 西峡县,G312"
replace post_code="474500" if addr_new==",,,,,,, 中国, ４７４５００, 河南省, 南阳市 / Nanyang,西峡县 (Xixia)"
replace post_code="474500" if addr_new==",,,,,, 中国, ４７４５００, 河南省, 南阳市 / Nanyang, 西峡县 (Xixia),西峡县"
replace post_code="443002" if addr_new==",,,,,, 中国, ４４３００２, 湖北省, 宜昌市 (Yichang), 秭归县 (Zigui),秭归县"
replace post_code="443002" if addr_new==",,,,,,, 中国, ４４３００２, 湖北省, 宜昌市 (Yichang),秭归县 (Zigui)"


gen temp_code=18 if temp==3 & temp1~=.
replace temp_code=10 if temp==3 & temp1==.
forvalues i=4(1)12{
replace temp_code=15+`i' if temp==`i' & temp1~=.
replace temp_code=7+`i' if temp==`i' & temp1==.
}

gen total_length=length(addr_new)

gen addr_new2=substr(addr_new, temp_code+1, total_length-temp_code+1)

gen temp_first=substr(addr_new2, 1, 1)
destring temp_first, replace force
tab temp_first, m
drop temp_first

replace addr_new2="河南省, 南阳市 / Nanyang, 西峡县 (Xixia), 西峡县,G312" if addr_new==",,,,, 中国, ４７４５００, 河南省, 南阳市 / Nanyang, 西峡县 (Xixia), 西峡县,G312"
replace addr_new2="河南省, 南阳市 / Nanyang,西峡县 (Xixia)" if addr_new==",,,,,,, 中国, ４７４５００, 河南省, 南阳市 / Nanyang,西峡县 (Xixia)"
replace addr_new2="河南省, 南阳市 / Nanyang, 西峡县 (Xixia),西峡县" if addr_new==",,,,,, 中国, ４７４５００, 河南省, 南阳市 / Nanyang, 西峡县 (Xixia),西峡县"
replace addr_new2="湖北省, 宜昌市 (Yichang), 秭归县 (Zigui),秭归县" if addr_new==",,,,,, 中国, ４４３００２, 湖北省, 宜昌市 (Yichang), 秭归县 (Zigui),秭归县"
replace addr_new2="湖北省, 宜昌市 (Yichang),秭归县 (Zigui)" if addr_new==",,,,,,, 中国, ４４３００２, 湖北省, 宜昌市 (Yichang),秭归县 (Zigui)"

gen first_comma=strpos(addr_new2, ",")

gen prov=substr(addr_new2, 1, first_comma-1)


tab prov, m


* first deal with HK
gen test_hk=substr(addr_new2, first_comma+2, 2)
tab test_hk

list prov if test_hk=="HK"
list addr_new2 if test_hk=="HK"

replace post_code="" if test_hk=="HK" & prov=="NT"
replace post_code="" if test_hk=="HK" & prov=="KINGSFIELD MANSION LEVEL B"
replace post_code=prov if test_hk=="HK" & prov~="NT" & prov~="KINGSFIELD MANSION LEVEL B"

list post_code if test_hk=="HK"

replace addr_new2=substr(addr_new2, first_comma+2, total_length-(first_comma+2)+1) if test_hk=="HK"
replace prov="HK" if test_hk=="HK"

drop test_hk

tab prov, m


* then deal with other numbers

gen temp_first=substr(prov,1,1)
destring temp_first, replace force

gen temp_length=length(prov)

list addr_new2 if temp_first~=.

replace addr_new2=substr(addr_new2, first_comma+2, total_length-(first_comma+2)+1) if temp_first~=.
gen first_comma_temp=strpos(addr_new2, ",") if temp_first~=.
replace prov=substr(addr_new2, 1, first_comma_temp-1) if temp_first~=.
drop first_comma_temp
drop temp_first
drop temp_length

list addr_new if prov=="+976"

replace addr_new2="内蒙古自治区, Шилийн Гол / 锡林郭勒盟 / Xilingol,东乌珠穆沁旗 (East Ujimqin)" if addr_new==",,,,,,, 中国, +976, 内蒙古自治区, Шилийн Гол / 锡林郭勒盟 / Xilingol,东乌珠穆沁旗 (East Ujimqin)"
replace prov="内蒙古自治区" if addr_new==",,,,,,, 中国, +976, 内蒙古自治区, Шилийн Гол / 锡林郭勒盟 / Xilingol,东乌珠穆沁旗 (East Ujimqin)"

tab prov, m



* deal with other non-prov values

list addr_new2 if prov=="哦哦"
replace addr_new2="云南省, 昆明市 (Kunming), 西山区 (Xishan), 西山区,日新路" if prov=="哦哦"
replace prov="云南省" if prov=="哦哦"

replace prov="北京市" if prov=="大兴区 / Daxing" | prov=="密云区" | prov=="平谷区 / Pinggu" | prov=="延庆县 / Yanqing" | prov=="怀柔区 / Huairou" | prov=="房山区" ///
					|   prov=="昌平区" | prov=="通州区 / Tongzhou" | prov=="门头沟区 / Mentougou" | prov=="顺义区 / Shunyi"

replace prov="贵州省" if prov=="黔"

tab prov, m

list addr_new if prov==""
replace prov="北京市" if addr_new==",,,,,,,,,, 中国,密云区"
replace prov="上海市" if addr_new==",,,,,,,,,, 中国,上海市"
replace prov="辽宁省" if addr_new==",,,,,,,,,, 中国,辽宁省"
replace prov="海南省" if addr_new==",,,,,,,,,, 中国,海南省"
replace prov="北京市" if addr_new==",,,,,,,,, 中国, 102200,昌平区"
replace prov="北京市" if addr_new==",,,,,,,,, 中国, 102445,房山区"
replace prov="北京市" if addr_new==",,,,,,,,,, 中国,昌平区"
replace prov="北京市" if addr_new==",,,,,,,,,, 中国,房山区"
replace prov="北京市" if addr_new==",,,,,,,,,, 中国,门头沟区 / Mentougou"
replace prov="山东省" if addr_new==",,,,,,,,,, 中国,山东省"
replace prov="河北省" if addr_new==",,,,,,,,,, 中国,河北省"
replace prov="浙江省" if addr_new==",,,,,,,,,, 中国,浙江省"
replace prov="北京" if addr_new==",,,,,,,,,, 中国,顺义区 / Shunyi"
replace prov="福建省" if addr_new==",,,,,,,,,, 中国,福建省"
replace prov="北京市" if addr_new==",,,,,,,,,, 中国,延庆县 / Yanqing"
replace prov="广东省" if addr_new==",,,,,,,,,, 中国,广东省"
replace prov="广西壮族自治区" if addr_new==",,,,,, 中国, 45190000, 广西壮族自治区, 桂林市, 阳朔县 / Yangshuo,双摊村"
replace prov="北京市" if addr_new==",,,,,,,,,, 中国,平谷区 / Pinggu"

tab prov, m
replace prov="香港" if prov=="HK"
replace prov="澳门" if prov=="澳門 Macau"

drop temp temp1 temp_code 
drop first_comma

******************************** Now start cleaning city info


gen first_comma=strpos(addr_new2, ",")

gen length2=length(addr_new2)
gen addr_new3=substr(addr_new2, first_comma+2, length2-(first_comma+2)+1)

gen second_comma=strpos(addr_new3, ",")

gen city=substr(addr_new3, 1, second_comma-1)

gen slash_pos=strpos(city, "/")
gen bra_pos=strpos(city, "(")

replace city=substr(city, 1, slash_pos-2) if slash_pos~=0
replace city=substr(city, 1, bra_pos-2) if bra_pos~=0

tab city


list addr_new2 if city=="Huocun"
replace city="北京市" if city=="Huocun"

list addr_new2 if city=="Алтай 阿勒泰地区"
replace city="阿勒泰地区" if city=="Алтай 阿勒泰地区"

list addr_new2 if city=="Алшаа 阿拉善盟"
replace city="阿拉善盟" if city=="Алшаа 阿拉善盟"

list addr_new2 if city=="Баяннуур 包头市"
replace city="包头市" if city=="Баяннуур 包头市"

list addr_new2 if city=="Баяннуур 巴彦淖尔市"
replace city="巴彦淖尔市" if city=="Баяннуур 巴彦淖尔市"

list addr_new2 if city=="Ордос"
list addr_new3 if city=="Ордос"
replace city="鄂尔多斯市" if city=="Ордос"

list addr_new2 if city=="Тонляо хот"
replace city="通辽市" if city=="Тонляо хот"

list addr_new2 if city=="Улаанхад"
replace city="赤峰市" if city=="Улаанхад"

list addr_new2 if city=="Улаанцав"
replace city="乌兰察布市" if city=="Улаанцав"

list addr_new2 if city=="Улаанцав 乌兰察布市"
replace city="乌兰察布市" if city=="Улаанцав 乌兰察布市"

list addr_new2 if city=="Хянган"
replace city="兴安盟" if city=="Хянган"

list addr_new2 if city=="Хөлөнбуйр"
replace city="呼伦贝尔市" if city=="Хөлөнбуйр"

list addr_new2 if city=="Хөх 呼和浩特市" | city=="Хөх 呼和浩特市 Hohhot"
replace city="呼和浩特市" if city=="Хөх 呼和浩特市" | city=="Хөх 呼和浩特市 Hohhot"

list addr_new2 if city=="Шилийн Гол"
replace city="锡林郭勒盟" if city=="Шилийн Гол"

list addr_new2 if city=="Үхай"
replace city="乌海市" if city=="Үхай"

list addr_new2 if city=="قەشقەر ۋىلايىتى 喀什地区 Kashgar"
replace city="喀什市" if city=="قەشقەر ۋىلايىتى 喀什地区 Kashgar"

list addr_new2 if city=="གཞིས་ཀ་རྩེ་ས་ཁུལ་"
replace city="日喀则市" if city=="གཞིས་ཀ་རྩེ་ས་ཁུལ་"

list addr_new2 if city=="ཆབ་མདོ་ས་ཁུལ།"
replace city="昌都市" if city=="ཆབ་མདོ་ས་ཁུལ།"

list addr_new2 if city=="ཉིང་ཁྲི་གྲོང་ཁྱེར།"
replace city="林芝市" if city=="ཉིང་ཁྲི་གྲོང་ཁྱེར།"

list addr_new2 if city=="དཀར་མཛེས 甘孜藏族自治州"
replace city="甘孜藏族自治州" if city=="དཀར་མཛེས 甘孜藏族自治州"

list addr_new2 if city=="ཙོང་ཁ་མཁར་ 海东市"
replace city="海东市" if city=="ཙོང་ཁ་མཁར་ 海东市"

list addr_new2 if city=="ཟི་ལིང་། 西宁市"
replace city="西宁市" if city=="ཟི་ལིང་། 西宁市"

list addr_new2 if city=="རྔ་བ་བོད་རིགས་ཆ་བ༹ང་རིགས་རང་སྐྱོང་ཁུལ་ 阿坝藏族羌族自治州"
replace city="阿坝藏族羌族自治州" if city=="རྔ་བ་བོད་རིགས་ཆ་བ༹ང་རིགས་རང་སྐྱོང་ཁུལ་ 阿坝藏族羌族自治州"

list addr_new2 if city=="ལྷ་ས་གྲོང་ཁྱེར་"
replace city="拉萨市" if city=="ལྷ་ས་གྲོང་ཁྱེར་"

list addr_new2 if city=="ལྷོ་ཁ་ས་ཁུལ།"
replace city="山南市" if city=="ལྷོ་ཁ་ས་ཁུལ།"


tab city


replace city="重庆市" if city=="万州区"
replace city="天津市" if city=="东丽区"
replace city="北京市" if city=="东城区"
replace city="北京市" if city=="丰台区"
replace city="临汾市" if city=="临汾市 Linfen"
replace city="丽江市" if city=="丽江市 Lijiang"
replace city="五家渠市" if city=="五家渠市 ئۇجاچۇ شەھرى"
replace city="丹东市" if city=="元宝区"
replace city="香港" if city=="元朗區 Yuen Long District"
replace city="六盘水市" if city=="六盘水市 Liupanshui"
replace city="香港" if city=="北區 North District"
replace city="天津市" if city=="北碚区"
replace city="香港" if city=="南區 Southern District"
replace city="重庆市" if city=="南川区"
replace city="南平市" if city=="南平市 Nanping"
replace city="北京市" if city=="南辛房村"
replace city="台州市" if city=="台州市 Taizhou"
replace city="北京市" if city=="史各庄"
replace city="重庆市" if city=="合川区"
replace city="吐鲁番市" if city=="吐鲁番市تۇرپان شەھىرى"
replace city="吴忠市" if city=="吴忠市 Wuzhong ءُ ﺟْﻮ شِ"
replace city="商洛市" if city=="商洛市 Shangluo"
replace city="上海市" if city=="嘉定区"
replace city="塔城市" if city=="塔城地区"
replace city="北京市" if city=="大兴区"
replace city="重庆市" if city=="大渡口区"
replace city="重庆市" if city=="大足区"
replace city="北京市" if city=="太师屯镇"
replace city="重庆市" if city=="奉节县"
replace city="上海市" if city=="奉贤区"
replace city="洛阳市" if city=="孟津县"
replace city="天津市" if city=="宁河区"
replace city="安顺市" if city=="安顺市 Anshun"
replace city="" if city=="定安县"
replace city="洛阳市" if city=="宜阳县"
replace city="天津市" if city=="宝坻区"
replace city="上海市" if city=="宝山区"
replace city="丹东市" if city=="宽甸满族自治县"
replace city="" if city=="屯昌县"
replace city="香港" if city=="屯門區 Tuen Mun District"
replace city="北京市" if city=="岗子村"
replace city="上海市" if city=="崇明区"
replace city="洛阳市" if city=="嵩县"
replace city="重庆市" if city=="巫山县"
replace city="重庆市" if city=="巴南区"
replace city="温州市" if city=="平阳县"
replace city="桂林市" if city=="广西壮族自治区"
replace city="北京市" if city=="康庄" | city=="延庆县"
replace city="廊坊市" if city=="廊坊"
replace city="重庆市" if city=="开州区"
replace city="重庆市" if city=="彭水县"
replace city="重庆市" if city=="忠县"
replace city="北京市" if city=="怀柔区"
replace city="北京市" if city=="房山区"
replace city="丹东市" if city=="振兴区"
replace city="丹东市" if city=="振安区"
replace city="洛阳市" if city=="新安县"
replace city="北京市" if city=="昌平区"
replace city="" if city=="昌江黎族自治县"
replace city="晋城市" if city=="晋城市 Jincheng"
replace city="朔州市" if city=="朔州市 Shuozhou"
replace city="北京市" if city=="朝阳区"
replace city="北京市" if city=="木林镇"
replace city="上海市" if city=="杨浦区"
replace city="杭州市" if city=="杭州市 Hangzhou"
replace city="香港" if city=="東區 Eastern District"
replace city="上海市" if city=="松江区"
replace city="洛阳市" if city=="栾川县"
replace city="重庆市" if city=="梁平区"
replace city="天津市" if city=="武清区"
replace city="重庆市" if city=="武隆区"
replace city="南充市" if city=="永定镇"
replace city="重庆市" if city=="永川区"
replace city="洛阳市" if city=="汝阳县"
replace city="重庆市" if city=="江北区"
replace city="重庆市" if city=="江津区"
replace city="重庆市" if city=="沙坪坝区"
replace city="香港" if city=="沙田區 Sha Tin District"
replace city="天津市" if city=="河西区"
replace city="洛阳市" if city=="洛宁县"
replace city="天津市" if city=="津南区"
replace city="洛阳市" if city=="洛阳市 Luoyang"
replace city="南昌市" if city=="洪"
replace city="上海市" if city=="浦东新区"
replace city="海口市" if city=="海口市 - Haikou"
replace city="北京市" if city=="海淀区"
replace city="重庆市" if city=="涪陵区"
replace city="深圳市" if city=="深汕特别合作区"
replace city="重庆市" if city=="渝北区"
replace city="天津市" if city=="滨海新区"
replace city="重庆市" if city=="潼南区"
replace city="" if city=="澄迈县"
replace city="洛阳市" if city=="瀍河区"
replace city="" if city=="琼中黎族苗族自治县"
replace city="重庆市" if city=="璧山区"
replace city="北京市" if city=="石景山区"
replace city="重庆市" if city=="秀山县"
replace city="重庆市" if city=="綦江区"
replace city="红河州" if city=="红河州:红河"
replace city="洛阳市" if city=="老城区"
replace city="香港" if city=="荃灣區 Tsuen Wan District"
replace city="重庆市" if city=="荣昌区"
replace city="济南市" if city=="莱芜区"
replace city="萍乡市" if city=="萍乡市 Pingxiang"
replace city="天津市" if city=="蓟县"
replace city="北京市" if city=="西台上村"
replace city="天津市" if city=="西青区"
replace city="北京市" if city=="车耳营"
replace city="北京市" if city=="通州区"
replace city="重庆市" if city=="酉阳县"
replace city="上海市" if city=="金山区"
replace city="重庆市" if city=="铜梁区"
replace city="上海市" if city=="长宁区"
replace city="重庆市" if city=="长寿区"
replace city="北京市" if city=="长沟镇"
replace city="北京市" if city=="门头沟区"
replace city="上海市" if city=="闵行区"
replace city="北京市" if city=="阎村镇"
replace city="香港" if city=="離島區 Islands District"
replace city="上海市" if city=="青浦区"
replace city="天津市" if city=="静海县"
replace city="北京市" if city=="顺义区"
replace city="北京市" if city=="高岭镇"
replace city="青岛市" if city=="黄岛区"
replace city="重庆市" if city=="黔江区"
replace city="黔西南布依族苗族自治州" if city=="黔西南布依族苗族自治州 Qianxinan"
replace city="通化市" if city=="퉁화 시"
replace city="阿拉尔市" if city=="阿拉尔市 ئارال"
replace city="重庆市" if city=="丰都县"
replace city="北京市" if city=="下苇甸"
replace city="衡水市" if city=="东杏园村"
replace city="玉林市" if city=="玉林市 Yulin"
replace city="益阳市" if city=="益阳市 Yiyang"
replace city="北京市" if city=="密云区"
replace city="白沙黎族自治县" if city=="白沙黎族自治县 - Baisha Li Autonomous County"
replace city="北京市" if city=="平谷区"
replace city="重庆市" if city=="南岸区"
replace city="北京市" if city=="北小营镇"
replace city="重庆市" if city=="九龙坡区"

tab city

tab addr_new if city==""


replace city=prov if city=="" & (prov=="北京市" | prov=="上海市" | prov=="天津市" | prov=="重庆市" | prov=="香港" | prov=="澳门")

list addr_new if city==""


replace city="儋州市" if addr_new==",,,,,,,,, 中国, 海南省,儋州市 / Danzhou"
replace city="北京市" if addr_new==",,,,,,,,, 中国, 海淀区,上庄"
replace city="洛阳市" if addr_new==",,,,,,,, 中国, 471500, 河南省,栾川县 (Luanchuan)"
replace city="深圳市" if addr_new==",,,,,,,,, 中国, 广东省,深圳市"
replace city="潜江市" if addr_new==",,,,,,,, 中国, 433100, 湖北省,潜江市"
replace city="神农架林区" if addr_new==",,,,,,,,, 中国, 湖北省,神农架林区 (Shennongjia)"
replace city="洛阳" if addr_new==",,,,,,,,, 中国, 河南省,(洛龙区 (Luolong)" | addr_new==",,,,,,, 中国, 471032, 河南省, (洛龙区 (Luolong),杜预街"
replace city="仙桃市" if addr_new==",,,,,,,,, 中国, 湖北省,仙桃市 / Xiantao"
replace city="凤城市" if addr_new==",,,,,,,, 中国, 118100, 辽宁省,凤城市 / Fengcheng"
replace city="济南市" if addr_new==",,,,,,,, 中国, 271100, 山东省,莱芜区"
replace city="济南市" if addr_new==",,,,,,,, 中国, 271103, 山东省,钢城区 (Gangcheng)"
replace city="阳江市" if addr_new==",,,,,,,, 中国, 529500, 广东省,江城区 (Jiangcheng)"
replace city="洛阳市" if addr_new==",,,,,,,,, 中国, 河南省,宜阳县 (Yiyang)"
replace city="洛阳" if addr_new==",,,,,,,,, 中国, 河南省,新安县 (Xin'an)"
replace city="开远市" if addr_new==",,,,,,, 中国, 云南省, 红河州:红河, 开远市 (Kaiyuan),开远市"
replace city="北京市" if addr_new==",,,,,,,,,, 中国,顺义区 / Shunyi"
replace city="济源市" if addr_new==",,,,,,,,, 中国, 河南省,济源市 (Jiyuan)"
replace city="阳江市" if addr_new==",,,,,,,, 中国, 529500, 广东省,阳江市 / Yangjiang"
replace city="天门市" if addr_new==",,,,,,,,, 中国, 湖北省,天门市"
replace city="偃师市" if addr_new==",,,,,,,,, 中国, 河南省,偃师市 (Yanshi)"
replace city="洛阳市" if addr_new==",,,,,,,,, 中国, 河南省,伊川县 (Yichuan)"
replace city="洛阳市" if addr_new==",,,,,,,,, 中国, 河南省,嵩县 (Song)"
replace city="洛阳市" if addr_new==",,,,,,,,, 中国, 河南省,洛宁县 (Luoning)"
replace city="文昌市" if addr_new==",,,,,,,,, 中国, 海南省,文昌市 / Wenchang"
replace city="东港市" if addr_new==",,,,,,,,, 中国, 辽宁省,小鹿岛"
replace city="洛阳市" if addr_new==",,,,,,,,, 中国, 河南省,汝阳县 (Ruyang)"
replace city="东方市" if addr_new==",,,,,,,,, 中国, 海南省,东方市 / Dongfang"


tab city
replace city="洛阳市" if city=="洛阳"
replace city="七台河市" if city=="七台河"
replace city="三门峡市" if city=="三门峡"
replace city="湛江市" if city=="东头山岛"
replace city="丹东市" if city=="东港市"
replace city="烟台市" if city==" 烟台市 "

tab city, m 
list addr_new if city==""

* if no city info, assign capital in that city

tab prov if city==""		
replace city="济南市" if prov=="山东省" & city==""
replace city="广州市" if prov=="广东省" & city==""
replace city="石家庄市" if prov=="河北省" & city==""
replace city="杭州市" if prov=="浙江省" & city==""
replace city="海口市" if prov=="海南省" & city==""
replace city="福州市" if prov=="福建省" & city==""
replace city="沈阳市" if prov=="辽宁省" & city==""

count if city==""				

gen temp_shi=strpos(city, "市")
gen temp_zizhixian=strpos(city, "自治县")
gen temp_xian=strpos(city, "县")
gen temp_zizhizhou=strpos(city, "自治州")
gen temp_zhou=strpos(city, "州")

tab temp_xian
tab temp_zhou

list city if temp_xian==7
list city if temp_zhou==4
list city if temp_zhou==7

gen city_old=city
replace city=substr(city_old, 1, temp_shi-1) if temp_shi~=0
replace city=substr(city_old, 1, temp_zizhixian-1) if temp_zizhixian~=0
replace city=substr(city_old, 1, temp_xian-1) if temp_xian~=0 & temp_zizhixian==0
replace city=substr(city_old, 1, temp_zizhizhou-1) if temp_zizhizhou~=0
replace city=substr(city_old, 1, temp_zhou-1) if temp_zhou~=0 & temp_zizhizhou==0 & temp_zhou>=7


* deal with some minorities
replace city="海口" if city=="乐东黎族"
replace city="北京" if city=="于家务回族乡"
replace city="重庆" if city=="云阳"
replace city="洛阳" if city=="伊川"
replace city="五指山" if city=="保亭黎族苗族"
replace city="洛阳" if city=="偃师"
replace city="凉山" if city=="凉山彝族"
replace city="丹东" if city=="凤城"
replace city="阿勒泰" if city=="北屯"
replace city="天津" if city=="北辰区"
replace city="博州" if city=="博尔塔拉"
replace city="北京" if city=="古北口镇"
replace city="和田" if city=="和田地区"
replace city="烟台" if city=="土埠岛"
replace city="重庆" if city=="垫江"
replace city="大兴安岭" if city=="大兴安岭地区"
replace city="茂名" if city=="大放鸡岛"
replace city="巴州" if city=="巴音郭楞蒙古"
replace city="延边" if city=="延边朝鲜族"
replace city="红河" if city=="开远"
replace city="恩施" if city=="恩施土家族苗族"
replace city="焦作" if city=="济源"
replace city="海北" if city=="海北藏族"
replace city="北海" if city=="涠洲岛"
replace city="甘孜" if city=="甘孜藏族"
replace city="白沙" if city=="白沙黎族"
replace city="重庆" if city=="石柱"
replace city="神农架" if city=="神农架林区"
replace city="沈阳" if city=="铁岭"
replace city="锡林郭勒" if city=="锡林郭勒盟"
replace city="阿克苏" if city=="阿克苏地区"
replace city="阿勒泰" if city=="阿勒泰地区"
replace city="阿坝" if city=="阿坝藏族羌族"
replace city="阿克苏" if city=="阿拉尔"
replace city="陵水" if city=="陵水黎族"
replace city="黔西南" if city=="黔西南布依族苗族"


		
		
** map city to the list 

merge m:1 city using working_data/city_names.dta		

list city if _merge==2	
drop if _merge==2
drop _merge

drop temp_shi temp_xian temp_zizhixian temp_zhou temp_zizhizhou

********************* Construct Highway info and County, District indicator

gen temp_first=strpos(addr_start, ",")
gen first=substr(addr_start, 1, temp_first-1)

tab first

gen lu_pos=strpos(first, "路")
gen jie_pos=strpos(first, "街")
gen dao_pos=strpos(first, "道")

gen road=1 if lu_pos~=0 | jie_pos~=0 | dao_pos~=0

gen gaosu_pos=strpos(first, "高速")
gen guodao_pos=strpos(first, "国道")
gen shengdao_pos=strpos(first, "省道")

gen highway=1 if gaosu_pos~=0 | guodao_pos~=0 | shengdao_pos~=0


gen temp_length=length(first)
tab temp_length

list first if temp_length==1
list first if temp_length==2
list first if temp_length==3
list first if temp_length==4
list first if temp_length==5
list first if temp_length==6


replace highway=1 if temp_length==2 & highway==.
replace highway=1 if temp_length==3 & highway==. & first~="Xia" & first~="村"
replace highway=1 if temp_length==4 & highway==.
replace highway=1 if temp_length==5 & highway==. & first~="Xihua" & first~="Qenub" & first~="Xibei"


replace highway=0 if highway==.
replace road=1 if highway==1
replace road=0 if road==. 

tab road
tab highway

gen temp_qu=strpos(addr_start, "区")
gen temp_xian=strpos(addr_start, "县")

gen xian=1 if temp_xian~=0
replace xian=0 if xian==.
gen qu=1 if temp_qu~=0 & xian==0

gen big_qu=1 if temp_qu~=0 & xian==1
list addr_new if big_qu==1

replace qu=1 if addr_new==",,, 中国, 271000, 山东省, 泰安市, 岱岳区 (Daiyue), 孙家疃村, 旧县沿街商店, 旧县大桥,汶河国家湿地公园"
replace xian=0 if addr_new==",,, 中国, 271000, 山东省, 泰安市, 岱岳区 (Daiyue), 孙家疃村, 旧县沿街商店, 旧县大桥,汶河国家湿地公园"
replace qu=1 if addr_new==",,,,,,,,, 中国, 通州区 / Tongzhou,漷县镇"
replace xian=0 if addr_new==",,,,,,,,, 中国, 通州区 / Tongzhou,漷县镇"

replace qu=0 if qu==.



gen temp_sum=xian+qu
tab temp_sum

rename xian county
rename qu district



keep lat_long_start addr_start post_code prov city road highway county district city_urls


save "/Users/.../geo_data/clean_addr.dta", replace



